export enum MemoryType {
  PREFERENCE = 'PREFERENCE',
  FACT = 'FACT',
  EMOTION = 'EMOTION',
  GOAL = 'GOAL'
}

export type Memory = {
  id: string;
  content: string;
  type: MemoryType;
  importance: number;
  tags: string[];
  createdAt: string;
  updatedAt: string;
  session?: {
    id: string;
    title?: string;
  };
};

export type CreateMemoryPayload = {
  content: string;
  type?: MemoryType;
  importance?: number;
  tags?: string[];
};

export type UpdateMemoryPayload = {
  content?: string;
  type?: MemoryType;
  importance?: number;
  tags?: string[];
};

export type MemoryQuery = {
  type?: MemoryType;
  tags?: string[];
  limit?: number;
  offset?: number;
};

export type MemoryStats = {
  total: number;
  byType: Record<MemoryType, number>;
  recentCount: number;
};
